import { ColDef, ICellRendererParams } from '@ag-grid-community/core'

/** columnDefs 配置项 */
export type TCol<T extends keyof IAttachmentListItem = keyof IAttachmentListItem> = ColDef<
  IAttachmentListItem,
  IAttachmentListItem[T]
> & {
  field: T
}

/** cellRendererParams */
export type TCellParams<T extends keyof IAttachmentListItem = keyof IAttachmentListItem> = ICellRendererParams<
  IAttachmentListItem,
  IAttachmentListItem[T]
>

/** 附件列表项 */
export interface IAttachmentListItem {
  /** 附件ID */
  fileId: number
  /** 附件地址 */
  fileUrl: string | null
  /** 附件名 */
  fileName: string | null
  /** 系统来源 1.OMS 2.TMS 3.其它 */
  sourceType: number | null
  /** 来源单据号 */
  sourceId: string | null
  /** 附件类型 1.装箱单 2.报关文件 3.清关文件 4.标签文件 5.签收文件(POD) 6.其他文件 */
  fileType: number | null
  /** 上传人 */
  uploadBy: string | null
  /** 上传时间 */
  uploadAt: string | null
  /** 删除标记 0.未删除 1.已删除 */
  deleteFlag: number | null
}
